home *** CD-ROM | disk | FTP | other *** search
- Unit RtmApi;
- { Import unit for all new functions in RTM 1.5
- written 06/20/94 by Peter Sawatzki }
- Interface
- Uses
- WinTypes;
-
- procedure FatalExit(Code: Integer);
- function GetVersion: LongInt;
- function LocalInit(Segment, Start, EndPos: Word): Bool;
- function LocalAlloc(Flags, Bytes: Word): THandle;
- function LocalReAlloc(Mem: THandle; Bytes, Flags: Word): THandle;
- function LocalFree(Mem: THandle): THandle;
- function LocalLock(Mem: THandle): Pointer;
- function LocalUnlock(Mem: THandle): Bool;
- function LocalSize(Mem: THandle): Word;
- function LocalHandle(Mem: Word): THandle;
- function LocalFlags(Mem: THandle): Word;
- function LocalCompact(MinFree: Word): Word;
- function LocalDiscard(Mem: THandle): THandle;
- {function LocalNotify(NotifyProc: TFarProc): TFarProc;}
- function GlobalAlloc(Flags: Word; Bytes: LongInt): THandle;
- function GlobalReAlloc(Mem: THandle; Bytes: LongInt; Flags: Word): THandle;
- function GlobalFree(Mem: THandle): THandle;
- function GlobalLock(Mem: THandle): Pointer;
- function GlobalUnlock(Mem: THandle): Bool;
- function UnlockResource(ResData: THandle): Bool;
- function GlobalSize(Mem: THandle): LongInt;
- function GlobalHandle(Mem: Word): LongInt;
- function GlobalFlags(Mem: THandle): Word;
- function LockSegment(Segment: Word): THandle;
- function UnlockSegment(Segment: Word): THandle;
- function GlobalCompact(MinFree: LongInt): LongInt;
- function GetCurrentTask: THandle;
- function GetModuleUsage(Module: THandle): Integer;
- function GetModuleFileName(Module: THandle; Filename: PChar; Size: Integer): Integer;
- function GetModuleHandle(ModuleName: PChar): THandle;
- function GetProcAddress(Module: THandle; ProcName: PChar): TFarProc;
- function Catch(var CatchBuf: TCatchBuf): Integer;
- procedure Throw(var CatchBuf: TCatchBuf; ThrowBack: Integer);
- function GetProfileInt(AppName, KeyName: PChar; Default: Integer): Word;
- function GetProfileString(AppName, KeyName, Default, ReturnedString: PChar; Size: Integer): Integer;
- function WriteProfileString(ApplicationName, KeyName, Str: PChar): Bool;
- function FindResource(Instance: THandle; Name, ResType: PChar): THandle;
- function LoadResource(Instance: THandle; ResInfo: THandle): THandle;
- function LockResource(ResData: THandle): Pointer;
- function FreeResource(ResData: THandle): Bool;
- function AccessResource(Instance, ResInfo: THandle): Integer;
- function SizeofResource(Instance, ResInfo: THandle): LongInt;
- function OpenFile(FileName: PChar; var ReOpenBuff: TOfStruct; Style: Word): Integer;
- function _lclose(FileHandle: Integer): Integer;
- function _lread(FileHandle: Integer; Buffer: PChar; Bytes: Integer): Word;
- function _lcreat(PathName: PChar; Atribute: Integer): Integer;
- function _llseek(FileHandle: Integer; Offset: LongInt; Origin: Integer): LongInt;
- function _lopen(PathName: PChar; ReadWrite: Integer): Integer;
- function _lwrite(FileHandle: Integer; Buffer: PChar; Bytes: Integer): Word;
- function LoadLibrary(LibFileName: PChar): THandle;
- procedure FreeLibrary(LibModule: THandle);
- procedure DOS3Call;
- procedure OutputDebugString(OutputString: PChar);
- function LocalShrink(Seg: THandle; Size: Word): Word;
- function GetPrivateProfileInt(ApplicationName, KeyName: PChar;
- Default: Integer; FileName: PChar): Word;
- function GetPrivateProfileString(ApplicationName, KeyName: PChar;
- Default: PChar; ReturnedString: PChar;
- Size: Integer; FileName: PChar): Integer;
- function WritePrivateProfileString(ApplicationName, KeyName, Str, FileName: PChar): Bool;
- function GetDOSEnvironment: PChar;
- function GetWinFlags: LongInt;
- Function GetExePtr (aHandle: tHandle): tHandle;
- function GetWindowsDirectory(Buffer: PChar; Size: Word): Word;
- function GetSystemDirectory(Buffer: PChar; Size: Word): Word;
- procedure GlobalNotify(NotifyProc: TFarProc);
- function GlobalLRUOldest(Mem: THandle): THandle;
- function GlobalLRUNewest(Mem: THandle): THandle;
- function GetFreeSpace(Flag: Word): LongInt;
- function AllocDStoCSAlias(Selector: Word): Word;
- function AllocSelector(Selector: Word): Word;
- function FreeSelector(Selector: Word): Word;
- function ChangeSelector(DestSelector, SourceSelector: Word): Word;
- function GlobalDosAlloc(Bytes: LongInt): LongInt;
- function GlobalDosFree(Selector: Word): Word;
- function GlobalPageLock(Selector: THandle): Word;
- function GlobalPageUnlock(Selector: THandle): Word;
- procedure GlobalFix(Mem: THandle);
- function GlobalUnfix(Mem: THandle): Bool;
- function AnsiUpper(Str: PChar): PChar;
- function AnsiLower(Str: PChar): PChar;
- function PrestoChangoSelector(SourceSel, DestSel: Word): Word;
- function GetSelectorBase(Selector: Word): Longint;
- function SetSelectorBase(Selector: Word; Base: Longint): Word;
- function GetSelectorLimit(Selector: Word): Longint;
- function SetSelectorLimit(Selector: Word; Base: Longint): Word;
- function LockData(Dummy: Integer): THandle;
- function UnlockData(Dummy: Integer): THandle;
- function GlobalDiscard(Mem: THandle): THandle;
-
- {USER}
- function MessageBox(WndParent: HWnd; Txt, Caption: PChar; TextType: Word): Integer;
- function GetTickCount: LongInt;
- function GetCurrentTime: LongInt;
- function LoadString(Instance: THandle; ID: Word; Buffer: PChar; BufferMax: Integer): Integer;
- function _wsprintf(DestStr, Format: PChar; var ArgList): Integer; CDecl;
-
- {KEYBOARD}
- function AnsiToOem(AnsiStr, OemStr: PChar): Integer;
- procedure AnsiToOemBuff(AnsiStr, OemStr: PChar; Length: Integer);
- function OemToAnsi(OemStr, AnsiStr: PChar): Bool;
- procedure OemToAnsiBuff(OemStr, AnsiStr: PChar; Length: Integer);
-
- Implementation
-
- function _LocalLock(Mem: THandle): Word; far; forward;
-
- procedure FatalExit; external 'KERNEL' Index 1;
- function GetVersion; external 'KERNEL' Index 3;
- function LocalInit; external 'KERNEL' Index 4;
- function LocalAlloc; external 'KERNEL' Index 5;
- function LocalReAlloc; external 'KERNEL' Index 6;
- function LocalFree; external 'KERNEL' Index 7;
- function _LocalLock; external 'KERNEL' Index 8;
- function LocalUnlock; external 'KERNEL' Index 9;
- function LocalSize; external 'KERNEL' Index 10;
- function LocalHandle; external 'KERNEL' Index 11;
- function LocalFlags; external 'KERNEL' Index 12;
- function LocalCompact; external 'KERNEL' Index 13;
- {function LocalNotify; external 'KERNEL' Index 14;}
- function GlobalAlloc; external 'KERNEL' Index 15;
- function GlobalReAlloc; external 'KERNEL' Index 16;
- function GlobalFree; external 'KERNEL' Index 17;
- function GlobalLock; external 'KERNEL' Index 18;
- function GlobalUnlock; external 'KERNEL' Index 19;
- function UnlockResource; external 'KERNEL' Index 19;
- function GlobalSize; external 'KERNEL' Index 20;
- function GlobalHandle; external 'KERNEL' Index 21;
- function GlobalFlags; external 'KERNEL' Index 22;
- function LockSegment; external 'KERNEL' Index 23;
- function UnlockSegment; external 'KERNEL' Index 24;
- function GlobalCompact; external 'KERNEL' Index 25;
- function GetCurrentTask; external 'KERNEL' Index 36;
- function GetModuleHandle; external 'KERNEL' Index 47;
- function GetModuleUsage; external 'KERNEL' Index 48;
- function GetModuleFileName; external 'KERNEL' Index 49;
- function GetProcAddress; external 'KERNEL' Index 50;
- function Catch; external 'KERNEL' Index 55;
- procedure Throw; external 'KERNEL' Index 56;
- function GetProfileInt; external 'KERNEL' Index 57;
- function GetProfileString; external 'KERNEL' Index 58;
- function WriteProfileString; external 'KERNEL' Index 59;
- function FindResource; external 'KERNEL' Index 60;
- function LoadResource; external 'KERNEL' Index 61;
- function LockResource; external 'KERNEL' Index 62;
- function FreeResource; external 'KERNEL' Index 63;
- function AccessResource; external 'KERNEL' Index 64;
- function SizeofResource; external 'KERNEL' Index 65;
- function OpenFile; external 'KERNEL' Index 74;
- function _lclose; external 'KERNEL' Index 81;
- function _lread; external 'KERNEL' Index 82;
- function _lcreat; external 'KERNEL' Index 83;
- function _llseek; external 'KERNEL' Index 84;
- function _lopen; external 'KERNEL' Index 85;
- function _lwrite; external 'KERNEL' Index 86;
- function LoadLibrary; external 'KERNEL' Index 95;
- procedure FreeLibrary; external 'KERNEL' Index 96;
- procedure DOS3Call; external 'KERNEL' Index 102;
- procedure OutputDebugString; external 'KERNEL' Index 115;
- function LocalShrink; external 'KERNEL' Index 121;
- function GetPrivateProfileInt; external 'KERNEL' Index 127;
- function GetPrivateProfileString; external 'KERNEL' Index 128;
- function WritePrivateProfileString; external 'KERNEL' Index 129;
- function GetDOSEnvironment; external 'KERNEL' Index 131;
- function GetWinFlags; external 'KERNEL' Index 132;
- function GetExePtr; external 'KERNEL' Index 133;
- function GetWindowsDirectory; external 'KERNEL' Index 134;
- function GetSystemDirectory; external 'KERNEL' Index 135;
- procedure GlobalNotify; external 'KERNEL' Index 154;
- function GlobalLRUOldest; external 'KERNEL' Index 163;
- function GlobalLRUNewest; external 'KERNEL' Index 164;
- function GetFreeSpace; external 'KERNEL' Index 169;
- function AllocDStoCSAlias; external 'KERNEL' Index 171;
- function AllocSelector; external 'KERNEL' Index 175;
- function FreeSelector; external 'KERNEL' Index 176;
- function ChangeSelector; external 'KERNEL' Index 177;
- function GlobalDosAlloc; external 'KERNEL' Index 184;
- function GlobalDosFree; external 'KERNEL' Index 185;
- function GlobalPageLock; external 'KERNEL' Index 191;
- function GlobalPageUnlock; external 'KERNEL' Index 192;
- procedure GlobalFix; external 'KERNEL' Index 197;
- function GlobalUnfix; external 'KERNEL' Index 198;
- function AnsiUpper; external 'KERNEL' Index 431;
- function AnsiLower; external 'KERNEL' Index 432;
- function PrestoChangoSelector; external 'KERNEL' Index 177;
- function GetSelectorBase; external 'KERNEL' Index 186;
- function SetSelectorBase; external 'KERNEL' Index 187;
- function GetSelectorLimit; external 'KERNEL' Index 188;
- function SetSelectorLimit; external 'KERNEL' Index 189;
-
- function MessageBox; external 'USER' Index 1;
- function GetTickCount; external 'USER' Index 13;
- function GetCurrentTime; external 'USER' Index 15;
- function LoadString; external 'USER' Index 176;
- function _wsprintf; external 'USER' Index 420;
-
- function AnsiToOem; external 'KEYBOARD' Index 5;
- function OemToAnsi; external 'KEYBOARD' Index 6;
- procedure AnsiToOemBuff; external 'KEYBOARD' Index 134;
- procedure OemToAnsiBuff; external 'KEYBOARD' Index 135;
-
- { Various wrapper routines }
-
- function LockData(Dummy: Integer): THandle;
- begin
- LockData := LockSegment($FFFF);
- end;
-
- function UnlockData(Dummy: Integer): THandle;
- begin
- UnlockData := UnlockSegment($FFFF);
- end;
-
- function GlobalDiscard(Mem: THandle): THandle;
- begin
- GlobalDiscard := GlobalReAlloc(Mem, 0, gmem_Moveable);
- end;
-
- function LocalDiscard(Mem: THandle): THandle;
- begin
- LocalDiscard := LocalReAlloc(Mem, 0, lmem_Moveable);
- end;
-
- function LocalLock(Mem: THandle): Pointer; assembler;
- asm
- PUSH Mem
- CALL _LocalLock
- MOV DX,DS
- end;
-
- End.